1. Field of the Invention
The invention relates to power management technology for processors, and more particularly to applying advanced configuration and power interface (ACPI) to power management technology for processors.
2. Description of the Related Art
Power management technology, is a method for lowering power consumption in unused computers and their peripheral devices, which increases battery efficiency. It is very important for computer systems, especially for portable computers, such as notebook computers, which often rely on power supply from batteries. Advanced configuration and power interface (ACPI) specification is a power management open standard developed by Hp, Intel, Microsoft, Phoenix and Toshiba, and is suitable for all classes of computer systems including (but not limited to) desktop computers, portable computers, workstations, and server machines. The purpose of the ACPI specification is to efficiently distribute power supply to each component in the computer system. The ACPI detects information such as temperature of motherboard, rotation speed of fans, and power supply voltage information, and provides appropriate power and optimum working frequency in order to balance power saving and efficiency. It should be noted that ACPI is an interface shared between the operating system (OS, software) and hardware, and power management herein is OS-directed instead of BIOS-directed, which is more beneficial for manufacturers when integrating their standards with each other.
The latest ACPI specification update is revision 3.0b. According to its OSPM (Operating System-directed configuration and Power Management) architecture, an OS can switch several power states among all of its systems and devices. Typically, the OS determines whether to enter the power saving mode in accordance with the configuration set by some application programs or users. The ACPI specification defines different power states which include a working state (G0), a sleeping state (G1), a soft off state (G2), and a mechanical off state (G3) as shown in FIG. 1 (please refer to FIG. 4-2 in the ACPI specification revision 3.0b). A system usually switches between a working state (G0) and a sleeping state (G1). While there are device power state definitions and processor power state definitions, due to brevity, only later will be discussed. The processor power states (including C0, C1, C2, . . . , Cn state) are all defined in the working state (G0). The processor normally executes instructions in the C0 state, while other power states (C1, C2, . . . , Cn state) have different (from short to long) latencies. Referring to FIG. 2, FIG. 2 is a state diagram of the processor. After an ACPI issues an instruction to ask the processor to enter the C4 state, the processor will sequentially enter the C2 state at the time t1, and then enter the C3 state at the time t2, and then enter the C4 state at t3.
Meanwhile, the ACPI comprises a general event model, which means that the ACPI responds to events such as plug and play, thermal and power management events and so on. However, as shown in FIG. 2, when a bus master event occurs, a computer system bus master issues a request BM_REQ, and the processor will respond to the request BM_REQ following completion of sequential state entrances from the state entered when the request was issued (in this example, the request BM_REQ was issued at the C3 state, so all states between C2 and C4 will be entered before the processor responds to the request). Additionally, following the response to the request by the processor, all states from C4 to C2 (in this example, at the time t4 the C3 state would be entered from the C4 state, at the time t5, the C2 state would be entered from the C3, and at the time t6, the C2 state would be entered from the C3 state). As such, the method is time consuming for the processor. Moreover, the C3 state of the ACPI specification is vague, thus, some devices running the specification work irregularly, such as unwanted noise for audio devices, incomplete finger print scanning, and so on.
Therefore, a novel method to make computer systems more efficient and save more power is desired.